{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 机器学习练习 6 - 支持向量机"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "本章代码涵盖了基于Python的解决方案，用于Coursera机器学习课程的第六个编程练习。 请参考[练习文本](ex6.pdf)了解详细的说明和公式。\n",
    "\n",
    "代码修改并注释：黄海广，haiguang2000@qq.com"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "在本练习中，我们将使用支持向量机（SVM）来构建垃圾邮件分类器。 我们将从一些简单的2D数据集开始使用SVM来查看它们的工作原理。 然后，我们将对一组原始电子邮件进行一些预处理工作，并使用SVM在处理的电子邮件上构建分类器，以确定它们是否为垃圾邮件。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们要做的第一件事是看一个简单的二维数据集，看看线性SVM如何对数据集进行不同的C值（类似于线性/逻辑回归中的正则化项）。 "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'X': array([[ 1.9643  ,  4.5957  ],\n",
       "        [ 2.2753  ,  3.8589  ],\n",
       "        [ 2.9781  ,  4.5651  ],\n",
       "        [ 2.932   ,  3.5519  ],\n",
       "        [ 3.5772  ,  2.856   ],\n",
       "        [ 4.015   ,  3.1937  ],\n",
       "        [ 3.3814  ,  3.4291  ],\n",
       "        [ 3.9113  ,  4.1761  ],\n",
       "        [ 2.7822  ,  4.0431  ],\n",
       "        [ 2.5518  ,  4.6162  ],\n",
       "        [ 3.3698  ,  3.9101  ],\n",
       "        [ 3.1048  ,  3.0709  ],\n",
       "        [ 1.9182  ,  4.0534  ],\n",
       "        [ 2.2638  ,  4.3706  ],\n",
       "        [ 2.6555  ,  3.5008  ],\n",
       "        [ 3.1855  ,  4.2888  ],\n",
       "        [ 3.6579  ,  3.8692  ],\n",
       "        [ 3.9113  ,  3.4291  ],\n",
       "        [ 3.6002  ,  3.1221  ],\n",
       "        [ 3.0357  ,  3.3165  ],\n",
       "        [ 1.5841  ,  3.3575  ],\n",
       "        [ 2.0103  ,  3.2039  ],\n",
       "        [ 1.9527  ,  2.7843  ],\n",
       "        [ 2.2753  ,  2.7127  ],\n",
       "        [ 2.3099  ,  2.9584  ],\n",
       "        [ 2.8283  ,  2.6309  ],\n",
       "        [ 3.0473  ,  2.2931  ],\n",
       "        [ 2.4827  ,  2.0373  ],\n",
       "        [ 2.5057  ,  2.3853  ],\n",
       "        [ 1.8721  ,  2.0577  ],\n",
       "        [ 2.0103  ,  2.3546  ],\n",
       "        [ 1.2269  ,  2.3239  ],\n",
       "        [ 1.8951  ,  2.9174  ],\n",
       "        [ 1.561   ,  3.0709  ],\n",
       "        [ 1.5495  ,  2.6923  ],\n",
       "        [ 1.6878  ,  2.4057  ],\n",
       "        [ 1.4919  ,  2.0271  ],\n",
       "        [ 0.962   ,  2.682   ],\n",
       "        [ 1.1693  ,  2.9276  ],\n",
       "        [ 0.8122  ,  2.9992  ],\n",
       "        [ 0.9735  ,  3.3881  ],\n",
       "        [ 1.25    ,  3.1937  ],\n",
       "        [ 1.3191  ,  3.5109  ],\n",
       "        [ 2.2292  ,  2.201   ],\n",
       "        [ 2.4482  ,  2.6411  ],\n",
       "        [ 2.7938  ,  1.9656  ],\n",
       "        [ 2.091   ,  1.6177  ],\n",
       "        [ 2.5403  ,  2.8867  ],\n",
       "        [ 0.9044  ,  3.0198  ],\n",
       "        [ 0.76615 ,  2.5899  ],\n",
       "        [ 0.086405,  4.1045  ]]),\n",
       " '__globals__': [],\n",
       " '__header__': b'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Sun Nov 13 14:28:43 2011',\n",
       " '__version__': '1.0',\n",
       " 'y': array([[1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [1],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [0],\n",
       "        [1]], dtype=uint8)}"
      ]
     },
     "execution_count": 51,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib.pyplot as plt\n",
    "import seaborn as sb\n",
    "from scipy.io import loadmat\n",
    "\n",
    "raw_data = loadmat('data/ex6data1.mat')\n",
    "raw_data"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "我们将其用散点图表示，其中类标签由符号表示（+表示正类，o表示负类）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsEAAAHRCAYAAACLj2RyAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X18VOW99/vvJJMpExhjSAJsRGpNS2kzBazt/ZJXqkGk\nIoVQIEgk3sFTOQd3C7fCq7Wg21rddmvZtrdPgJjetRY2Hk2t+Ep2LW6qPLizCxtswU7qBg2WjUQs\niSHkYTCZsM4fnJkyZPIwYWbWWrM+77/MWjj5cbmcfHPN77oul2EYhgAAAAAHyTC7AAAAACDVCMEA\nAABwHEIwAAAAHIcQDAAAAMchBAMAAMBxCMEAAABwHHeqv+HJk20JeZ3c3Gy1tHQm5LWcgjEbGsYt\nfoxZ/Biz+DFmQ8O4xY8xi59VxqygwNfnPdvOBLvdmWaXYDuM2dAwbvFjzOLHmMWPMRsaxi1+jFn8\n7DBmtg3BAAAAwFARggEAAOA4hGAAAAA4DiEYAAAAjkMIBgAAgOMQggEAAOA4hGAAAAA4DiEYAADA\nxgzD0M4Dx9Ud6om63h3q0c4Dx2UYxpBf+w9/2K85c76uFSuW6X/9rzu0bNn/pZdeeiGu17j33rsl\nSQ0N7+nAgT9Ikn74w3vU3d095LoSIeUnxgEAACBxdh1s1KZth3Tg3SYtn+9XljtT3aEerd8a0NsN\nzZKkaVMuG/LrX331V/Tgg49Ikrq6ulRRUaaZM2fL5+v7NLbzPfzwo5KknTtfV15enqZM+XLk9cxE\nCAYAALCxYv8YHXi3SW83NGv91oCWlRapqrZebzc0a1Jhnor9YxL2vTo7O5WRkaEjR97Txo3rlJmZ\nKY/Ho+9//z7l5ubq/vvXqKOjQ6FQl26//e/1P/7HNZo7d6Z+/vPN+u1v/1Vud5YmTJio+++/R5s2\nvaBvfetWPffc/yuv16vnn9+szMwMTZt2g/75nx/WJ5+c0ac+NUzf//69Gj06cX+HMEIwAACAjWW5\nM7V8vj8y87vi8d2SpEmFeZGZ4Yvx1lv7tWLFMmVkZMjtdmvVqrv15JP/W2vW3KfPfe7zevPNnVq3\n7n/r9tvvUGtrq3760yflcnXp4ME/R16joGCUZs2ao7y8PH3xi35JUmamWyUl07Vz5+uaNWuOfve7\nbXrssfX66U/XauHCck2dWqz9+/9TGzeu0w9/+KOL+jvEQggGAACwuSx3ppaVFkUCsCQtKy266AAs\nRbdDhP34xz/S5z73eUnS5Mlf1saN63TllYX65jcX6IEH/kEZGdLcuQsHfO3S0nn6yU9+rE9/+gpd\nfvmnlZNzqY4ceU+bN/9CW7b8UtK5sJwMhGAAAACb6w71qKq2PupaVW19QmaCY8nPL9B7772rz372\nczpw4A+6/PLxamh4T52dHXr00SdkGEEtWlSu4uJrI/9ORkaGzp6NXqR3+eXjJRl6/vnNmj//XGge\nP/4KLV78P/WlL03W0aN/0R//+FbC65cIwQAAALZ2/iK4SYV5UT3B67cGkhKEV6/+Bz322D/LMAxl\nZmZqzZofKD+/QL/4RZXeeON3ysx0aenSO6L+nc9//gvasOEJXXHFZ6Kuz579Tf385xv15S9/RZK0\nfPld+ulPf6yuri598skZ3XXX9xJae5jLuJh9M4bg5Mm2hLxOQYEvYa/lFIzZ0DBu8WPM4seYxY8x\nGxrGLX5WH7OdB45r07ZDUT3A5wfjJTd9/qJ2hxgKq4xZQUHfO1gwEwwASAuGYWjXwUYV+8dEzXp1\nh3pUFzihkslj5XK5TKwQSI6SyWMlKerZDy+WCz/76I0QDABIC8neKxWwKpfLFfPZznJn8sz3gxPj\nACDJknmaE/6m2D9GkwrzIn2QnWdCUX2SidwrFYD9EYIBIMnCM5TrtwYiQTg8Q7lp2yHtOthocoXp\nIfzxbzgIr3h8dyQAJ2uFPAD7IgQDQJIxQ5k64b1Sz5eovVIBpBdCMAAkGTOUqdPXXqkXtqIAACEY\nAFKAGcrku3Cv1HUrr4uagXdKEKYH3dmCoaCOnT6uYCiYkNf7wx/2a+bMEn300YnItaeffkqvvlp7\n0a/9ySefqLb2FUnSq6/W6t//fddFv2Y8CMEAkALMUCZfXeBE1Ax79jB31Ax8XeDEwC+SBgbqQX9t\nz1GTK0QyhM6G9Px/vayH9vxEP97/hB7a8xM9/18vK3Q2dNGvnZXl0cMP/2PCf4H6+OPmSAj+xjdK\n9bWvlST09QfCFmkAkGSDOc0JF4+9Us8p9o/RgXebIs/X+c/bpMI8Tf/K5Wo91Wl2mUiw6sM1qmvc\nE/m6tast8nXFxAUX9dpXX/0VnT1r6OWXq1VWVh65/tJLL2j79tfkcrl0ww036uabb9EHHxzTP/3T\nA/J6P6W8vFH68MNGrVtXpV//+kXt2rVDwWBQl156qR5++CfatOlZ/eUv7+sXv/iZzp49q7y8PB07\n9t/67GcnaNasOWpubtLdd6/Us8/+izZuXKeDB/+os2fPqrz8Vk2fPuOi/k4SM8EAkHTMUKZGeK/U\nC1tMwnulOuWgjIF60D1ZtOCkm2AoqEBTfcx7gab6hLRGfO97a/Tii8/rgw+OSZLOnDmj11/frg0b\n/o/Wr/+Z3nxzp/77v/+i9euf0JIl39LmzZv1pS9NliSdPXtWra2tevzxDfrZz36pnp4evfNOvZYs\nuV1XXPEZfetb/0/k+8yZM0+//e2/SpJee+1VzZ5dqt//vk4ffnhcTz/9cz355EZt2vSs2tou/jQ6\nZoIBIMmYoUSqhXvQVzy+O3KNHvT01dT5sVq7YofC1q42NQdbNM7nvajvkZNzqe6887v6p3/6ob70\npckKBjv10UcndNdd35YktbW16dixYzp69H35/efC7+TJV+nf/u23ysjIUFZWlh544B/k9Xr117/+\nVaFQ7DaNz3zmSvX09OjEiQ/1+uvb9fjjG1RT87IOHfovrVixTJIUCoV04kSjfL7PX9TfiZlgAEgy\nZiiRavSgO0t+9kjleHwx7+V4fMrz5ibk+3zta9fp8ss/rVdf/VdlZXl0xRVX6qmnntG6dVX6xjfm\nqLDwc7ryykIFAm9Lkurr/yRJeu+9d7V790794z8+olWrvi/DOCtJcrkyIv98vjlzvqkNG57UFVd8\nRj6fT5/+9BW66qqvaN26Kj355EZNnz5Dl1027qL/PoRgAADSyEC7ZHR1E4TTjdftlT+/KOY9f36R\nvO6LmwU+3113fVef+tSnNGLECH3lK1/Vd76zVEuXVurYsWMqKCjQt799p7Zs+aVuu+02/fu/75bb\n7da4cZfL6/Xq29++XatWfUd5eflqajqp3NxcdXeHtGHDk1Hf4/rrZ+g///P3Ki2dJ0kqLr5O2dle\nfec7/7eWLv2fcrlcys4eftF/F5eR4r1STp68+B4OSSoo8CXstZyCMRsaxi1+jFn8GLP4MWax7Txw\nXJu2HYrah/r8YLx84WRd/dk8s8u0FTs8a6GzIVUfrlGgqV6tXW3K8fjkzy/Soglz5c5IXffrv/3b\nb/XFL/p11VVf1LPPbtaf/nRQ9977w5R9/wsVFMSeIZfoCQYAIK0M1IM+85pPq6mp3cwSkQTuDLcq\nJi5QMDRLzcEW5XlzEzoDPFijRo3WD394r3y+4erpMbRmzQ9SXsNgEYIBAEgj4R70C9GD7gxet/ei\nF8FdjClTvqyf/3yzLWbPB9UT3NzcrJKSEjU0NERdf+655zR79mxVVlaqsrJSR44cSUqRAAAAQCIN\nOBPc3d2t+++/X8OGDet1LxAIaO3atfL72egdAAAA9jHgTPDatWt1yy23aNSoUb3u1dfXq6qqSosX\nL9YzzzyTlAIBAACAROt3Jvjll1/WyJEjde2116qqqqrX/dmzZ6uiokIjRozQihUrtGPHDl1//fX9\nfsPc3Gy5E7RZd38r/hAbYzY0jFv8GLP4MWbxY8yGhnGLH2MWP6uPWb9bpN16661yuVxyuVx65513\ndMUVV+jpp59WQUGBDMNQe3u7fL5zf8EtW7bo1KlTWr58eb/fkC3SzMOYDQ3jFj/GLH6MWfwYs6Fh\n3OLHmMXPKmM25C3StmzZEvnnyspKPfDAAyooKJAktbe3a86cOXr11VeVnZ2tvXv3qqysLEElAwAA\nAMkT9xZptbW16uzsVHl5uVatWqUlS5bI4/Fo6tSpKikpSUaNAAAAQEINOgRv3rxZklRYWBi5Nm/e\nPM2bNy/xVQEAAABJNKh9ggEAAIB0QggGAACA4xCCAQAA4DiEYAAAADgOIRgAAACOQwgGAACA4xCC\nAQAA4DiEYAAAADgOIRgAEJNhGNp54Li6Qz1R17tDPdp54LgMwzCpMgC4eIRgAEBMuw42atO2Q1q/\nNRAJwt2hHq3fGtCmbYe062CjyRUCwNARggEAMRX7x2hSYZ7ebmjW+q0BdZ4Jaf3WgN5uaNakwjwV\n+8eYXSIADBkhGAAQU5Y7U8vn+yNBeMXjuyMBePl8v7LcmWaXCABDRggGAPQpy52pZaVFUdeWlRYR\ngAHYHiEYANCn7lCPqmrro65V1db3WiwHAHZDCAYAxBReBBdugVi38rqoHmGCMAA7IwQDAGKqC5yI\n6gHOHuaO6hGuC5wwu0QAGDK32QUAAKypZPJYSed2iQj3AIcXy9UFTkTuA4AdEYIBADG5XC5Nm3JZ\nr+tZ7syY1wHATmiHAAAAgOMQggEAQMJw3DbsghAMAAAShuO2YReEYAAAkDActw27IAQDAICE4bht\n2AUhGAAAJBTHbcMOCMEAACChOG4bdkAIBgAACcNx27ALQjAAAEgYjtuGXXBiHAAASBiO24ZdEIIB\nAEDCcNw27IJ2CAAAADgOIRgAAACOQwgGAACA4xCCAQAA4DiEYAAAAEQYhqGdB4732tO5O9SjnQeO\nyzAMkypLLEIwAAAAInYdbNSmbYeiDjcJH4Kyadsh7TrYaHKFiUEIBgAAQESxf0zUKX+dZ0JRpwAW\n+8eYXWJCEIIBAAAQET7cJByEVzy+O+oUwPAhKHZHCAYAAECULHemlpUWRV1bVlqUNgFYIgQDAADg\nAt2hHlXV1kddq6qt77VYzs4IwQAAAIgIL4ILt0CsW3ldVI9wugRhQjAAAAAi6gInonqAs4e5o3qE\n6wInzC4xIdxmFwAAAADrKJk8VtK5XSLCPcDhxXJ1gROR+3ZHCAYAAECEy+XStCmX9bqe5c6Med2u\n0rodwiknngAAACA+aR2CnXLiCQAAAOKT1iHYKSeeAAAAID5pHYKdcuIJAAAA4pPWIVhyxoknAAAA\niE/ah2AnnHgCAACA+KR1CHbKiScAzMduNABgL2kdgp1y4gkA87EbDQDYS1qH4JLJY7Xkps9HLYIL\nL5ZbctPn0+bEEwDmYzcaXIhPBwBrS+sQHD7x5MJFcOETT1wul0mVAUg37EaDC/HpAGBtaR2CASCV\n2I0G5+PTAcDaCMEAkCDsRoPz8ekAYG2EYABIAHajQSx8OgBYFyEYABKA3WgQC58OANY1qBDc3Nys\nkpISNTQ0RF1/4403VFZWpvLyclVXVyelQACwA3ajwYX4dACwtgFDcHd3t+6//34NGzas1/VHHnlE\nzz77rDZv3qwXX3xRTU1NSSsUAKyM3WhwIT4dAKxtwBC8du1a3XLLLRo1alTU9YaGBo0fP145OTny\neDy6+uqrtW/fvqQVCgCAnfDpAGBt7v5uvvzyyxo5cqSuvfZaVVVVRd1rb2+Xz+eLfD18+HC1t7cP\n+A1zc7PlTtCCgIIC38B/CFEYs6Fh3OLHmMWPMYuf1cfs5q9fEvv6312a4kqiWX3crIgxi5/Vx6zf\nEPzrX/9aLpdLv//97/XOO+9o9erVevrpp1VQUKARI0aoo6Mj8mc7OjqiQnFfWlo6L75qnRvYkyfb\nEvJaTsGYDQ3jFj/GLH6MWfwYs6Fh3OLHmMXPKmPWXxDvNwRv2bIl8s+VlZV64IEHVFBQIEkqLCzU\n0aNHderUKWVnZ2v//v1aunRpgkoGAAAAkqffEBxLbW2tOjs7VV5erjVr1mjp0qUyDENlZWUaPXp0\nMmoEAAAAEmrQIXjz5s2Szs0Ah02fPl3Tp09PfFUAAABAEnFYBgAAAByHEAwAAADHIQQDAADAcQjB\nAADA1gzD0M4Dx3sdRd0d6tHOA8dlGIZJlcHKCMEAAMDWdh1s1KZth7R+ayAShLtDPVq/NaBN2w5p\n18FGkyuEFRGCAQCArRX7x2hSYZ7ebmjW+q0BdZ4Jaf3WgN5uaNakwjwV+8eYXSIsiBAMAABsLcud\nqeXz/ZEgvOLx3ZEAvHy+X1nuTLNLhAURggEAgO1luTO1rLQo6tqy0iICMPpECAYAALbXHepRVW19\n1LWq2vpei+WsgIV81kAIBgAAthZeBBdugVi38rqoHmGrBWEW8lkDIRgA0C9mrWB1dYETUT3A2cPc\nUT3CdYETZpcYhYV81uA2uwAAgLWFZ60OvNsUWWR0/sybJE2bcpnJVcLJSiaPlXQuXIZ7gMOL5eoC\nJyL3rSJcW/j/oRWP75YkFvKlGDPBAIB+MWsFq3O5XJo25bJe4THLnalpUy6Ty+UyqbK+sZDPfIRg\nAEC/2H4KSDw7LeRLV4RgAMCAmLUCEsduC/nSFSEYADAgZq2AxLHbQr50xcI4AEC/Lpy1WlZapKra\n+sisFS0RQHzstpAvXTETDADoF7NWQGLZcSFfOmImGADQL2atAKQjQjAAoF/hWasLhWetAMCOaIcA\nAACA4xCCAQAA4DiEYAAAADgOIRgAAACOQwgGAACA4xCCAQAA4DiEYAAAADgOIRgAAACOQwgGAACA\n4xCCAQAA4DiEYAAAADgOIRgAAACOQwgGAACA4xCCAQAA4DiEYAAAADgOIRgAAACOQwgGAACA4xCC\nAQAA4DiEYAAAADgOIRgAAACOQwgGAACA4xCCAQAA4DiEYAAAADgOIRgAAACOQwgGAACA4xCCAQAA\n4DiEYAAAADgOIRgAAACOQwgGAACA4xCCAQAA4DiEYAAAbMYwDO08cFzdoZ6o692hHu08cFyGYZhU\nGWAfhGAAAGxm18FGbdp2SOu3BiJBuDvUo/VbA9q07ZB2HWw0uULA+gjBAADYTLF/jCYV5unthmat\n3xpQ55mQ1m8N6O2GZk0qzFOxf4zZJQKWRwgGAMBmstyZWj7fHwnCKx7fHQnAy+f7leXONLtEwPII\nwQAA2FCWO1PLSouiri0rLSIAA4NECAbSXDAU1LHTxxUMBc0uBUACdYd6VFVbH3Wtqra+12I5ALG5\nzS4AQHKEzoZUfbhGgaZ6tXa1Kcfjkz+/SIsmzJU7g//1ATsLL4ILt0AsKy1SVW19pEeYlghgYMwE\nA2mq+nCN6hr3qLWrTZLU2tWmusY9qj5cY3JlgDXZaduxusCJqB7g7GHuqB7husAJs0sELG/A6aCe\nnh7dd999ev/99+VyufTggw9qwoQJkfvPPfecfvWrX2nkyJGSpAcffFBXXnll8ioGMKBgKKhAU33M\ne4GmegVDs+R1e1NcFWBt4W3HDrzbFJlJPX/GVZKmTbnM5CrPKZk8VtK5XSLCM77hxXJ1gROR+wD6\nNmAI3rFjhyTphRde0N69e/XYY4/p6aefjtwPBAJau3at/H5/8qoEEJemzo8jM8AXau1qU3OwReN8\nhGDgfMX+MTrwblOkpeD8FgOrbTvmcrliBvIsd6ZlgjpgdQOG4BkzZmjatGmSpMbGRl1yySVR9+vr\n61VVVaWTJ09q2rRpuuOOO5JSKIDBy88eqRyPL2YQzvH4lOfNNaEqwNrCM6nhmd8Vj++WJLYdA9KU\nyxhkk9Pq1au1fft2Pfnkk/ra174Wub5u3TpVVFRoxIgRWrFihRYvXqzrr7++z9cJhXrk5o0ESLqq\nfc/rd0fe7HV9xpXXatlXK0yoCLCHjmC3brnv1cjXL/zoGxruzTKxIgDJMOgQLEknT57UokWL9Jvf\n/EbZ2dkyDEPt7e3y+XySpC1btujUqVNavnx5P68R+yPaeBUU+BL2Wk7BmA2NXcfNzN0h7DpmZmLM\n4peMMbuwB1hKv5lgnrX4MWbxs8qYFRT4+rw34E/CV155RR999JHuuOMOeb1euVwuZWSc21Sivb1d\nc+bM0auvvqrs7Gzt3btXZWVliascwJC5M9yqmLhAwdAsNQdblOfNZTEc0A+2HQOcZcAQfOONN+qe\ne+7RrbfeqlAopHvvvVfbt29XZ2enysvLtWrVKi1ZskQej0dTp05VSUlJKuoGMEhet5dFcMAgXLjt\n2IU9wnWBEyw6A9LIgCE4OztbTzzxRJ/3582bp3nz5iW0KAAAUo1txwBn4bAMAAD0t23HLmx5CG87\n5nK5TKoMg2WnA0+szCnjSAgGAABpIXzgyfqtgUiAC/d6b9p2SLsONppcoT04ZRwJwQAAIC0U+8dE\njo5evzWgzjOhqMWOVjrwxMqcMo6EYAAAkBbCPdzhALfi8d29FjtiYE4ZR0IwAABIG1nuTC0rLYq6\ntqy0KG2CW6o4YRwJwcB5gqGgjp0+rmAoaHYpAIAh6A71qKq2PupaVW19r0Ve6J8TxjG5x0YBNtHf\n6WoAAHvgwJPEcMo4MhMMSKo+XKO6xj1q7Tp3xGNrV5vqGveo+nCNyZUBAAbrwgNPsoe5o3pb6wIn\nzC7RFpwyjswEw/GCoaACTfUx7wWa6tXZRWsEANgBB54khlPGkZlgOF5T58eRGeALtXa16a8dzSmu\nyHnoxQaQCBx4khhOGUdmguF4+dkjlePxxQzCOR6fRg3PU0dryITK0l9/vdjuDN6eAADJw0wwHM/r\n9sqfXxTznj+/SNkeb4orcg56sQEAZiEEA5IWTZir4rHXKMfjk3RuBrh47DXsDpFEA/Vi0xoBAEgm\nPm8EJLkz3KqYuEDB0Cw1B1uU582V180McDIN1IvdHGzROB//DQAAyUEIBs7jdXsJXikyUC92njfX\nhKoAAE5BOwQAUwzUi81MPJA8hmFo54HjvU7/6g71aOeB4zIMw6TKgNRhJhiAacI915zUB6TWroON\n2rTtkA682xQ5/ev8U8IkadqUy0yuEkguQjAA09CLDZij2D9GB95tihyDe/6xuJMK81TsH2N2iUDS\nEYIBmI5ebCC1wqd/hWd+Vzy+W5Iix+ReeEgCkI7oCQYAwIGy3JlaVhrdl7+stIgADMcgBAMA4EDd\noR5V1Ubv1V1VW99rsRyQrgjBAAA4zPmL4CYV5mndyus0qTAv0iNMEIYTEIIBAHCYusCJSABePt+v\n7GFuLZ/vjwThusAJs0sEko6FcQAAOEzJ5LGSzu0SEe4BDi+WqwuciNwH0hkhGAAAh3G5XDH3Ac5y\nZ7I/MByDdggAAAA4DiEYAAAAjkMIBgAAgOMQggEAAOA4hGAAsIhgKKhjp48rGAqaXQoApD12hwAA\nk4XOhlS173nt++CAWrvalOPxyZ9fpEUT5sqdwds0ACQDM8GADTFjmF6qD9fod0feVGtXmySptatN\ndY17VH24xuTKACB+hmFo2+//0uvkwe5Qj3YeOC7DMMwp7AJMMQA2EjobUvXhGgWa6pkxTBPBUFCB\npvqY9wJN9QqGZsnr9qa4KgAYul0HG7Vp26HIiYRZ7syoo7olWWI/amaCARupPlyjusY9zBimkabO\njyP/PS/U2tWm5mBLiisCgItT7B+jr3xhtN5uaNb6rQF1nglFAvCkwjwV+8eYXaIkQjBgGwPPGNIa\nYUf52SOV4/HFvJfj8SnPm5viigDg4mS5M3XPbV/VpMI8vd3QrBWP744E4PDMsBUQggGbYMYwPXnd\nXvnzi2Le8+cX0QoBwJY8WZlaVhr93rastMgyAVgiBAO2wYxh+lo0Ya5mXHlt5L9vjsen4rHXaNGE\nuSZXBgBD09Xdo6ra6E8vq2rrey2WMxMraQCbCM8Y1jXu6XWPGUN7c2e4teyrFbpp3Aw1B1uU583l\nvycA2+oO9eiRX+6LtEAsKy1SVW19pEfYKi0RzAQDNrJowlwVj72GGcM05XV7Nc43lgAMwNbqAie0\n/52PIj3A2cPcWj7fH+kRrgucMLtEScwEA7biznCrYuICBUOzmDEEAFhSyeSx8o0YpklXXBqZ8c1y\nZ2r5fL/qAidUMnmsyRWew0wwYEPMGAKANRmGoZ0Hjlv+oIhkcrlcumnqFb1aHrLcmZo25TK5XC6T\nKotGCAYAAEiQ8EER67cGIkE4fFDEpm2HtOtgo8kVIowQDAAAkCDF/jGR3lcrHxQBQjAAAEDChHtf\nrX5QBAjBAAAACZXltv5BESAEAwAAJFR3yPoHRYAQDAAAkDDhRXDhFoh1K6+L6hEmCFsHIRhAygVD\nQR07fVzBUNDsUgAMgC2/4lMXOBHVA2zVgyLAYRkAUih0NqTqwzUKNNWrtatNOR6f/PlFWjRhrtwZ\nvB0BVhTe8uvAu02RhV3nz3ZK0rQpl5lcpXWED4Io9o+x9EERYCYYQApVH65RXeMetXa1SZJau9pU\n17hH1YdrTK4MQF/Y8is+LpdL06ZcZvmDIkAIBpAiwVBQgab6mPcCTfW0RgAWxZZfSFeEYAAp0dT5\ncWQG+EKtXW1qDrakuCIAg8WWX0hHhGAAKZGfPVI5Hl/Mezken/K8uSmuCMBgseUX0hEhGEBKeN1e\n+fOLYt7z5xfJ6/amuCIAg8GWX0hXhGCkPbbjso5FE+aqeOw1kRnhHI9PxWOv0aIJc02uDEBf2PIL\n6Yo9iZC22I7LetwZblVMXKBgaJaagy3K8+YyAwxYHFt+IV2RBGAbwVBQTZ0fKz975KCCU3g7rrDw\ndlySVDFxQdLqxMC8bq/G+Qi/gB2Et/y6UHjLL8CuBgzBPT09uu+++/T+++/L5XLpwQcf1IQJEyL3\n33jjDa1fv15ut1tlZWVatGhRUguG8wxlRnfg7bhmMQMJAICDDdgTvGPHDknSCy+8oJUrV+qxxx6L\n3Ovu7tYjjzyiZ599Vps3b9aLL76opqam5FULRxrKAQtsxwUAAPozYAieMWOGHnroIUlSY2OjLrnk\nksi9hoYGjR8/Xjk5OfJ4PLr66qu1b9++5FULxxnqAQtsxwUAAPozqJ5gt9ut1atXa/v27XryyScj\n19vb2+VZvnvcAAAYAklEQVTz/S1oDB8+XO3t7f2+Vm5uttwJ2ly7oCB2yEHf7DZm77ec6ndG9+yw\nLhXkjopx16evjpui3x15s9edr46bovF/F+vf6Zvdxs0KGLP4MWbxY8yGhnGLH2MWP6uP2aAXxq1d\nu1bf+973tGjRIv3mN79Rdna2RowYoY6Ojsif6ejoiArFsbS0dA692vMUFPh08mTscITY7DhmmaFP\nKcfjixmEczw+ZZzx9Pl3Kh0/S8Ez3b16iUvHz4prHOw4bmZjzOLHmMWPMRsaxi1+jFn8rDJm/QXx\nAUPwK6+8oo8++kh33HGHvF6vXC6XMjLOdVEUFhbq6NGjOnXqlLKzs7V//34tXbo0cZXD8cIHLJy/\ny0PYQAcssB0XkBrx7twCAFYwYAi+8cYbdc899+jWW29VKBTSvffeq+3bt6uzs1Pl5eVas2aNli5d\nKsMwVFZWptGjR6eibjhI+CCFWLtDDAbbcQHJwV7cAOxswHep7OxsPfHEE33enz59uqZPn57QooDz\nMaMLWBN7cQOwM45Nhm2cm9EdSwAGLGCoO7cAgFUQggELCIaCOnb6OMEBtsFe3ADsjqYtwET0VKYH\nJy4MC+/F3dfOLezFDcDq+CkLmIieSntz8i8xF7NzCwBYQXq/SwMWNnBP5SyChMU5/ZeYi925BQDM\nRAgGTDKYnkq2drMufolh5xYA9sbCOMAk4Z7KWOiptD4Whv2N1XZuYaEpgMFgJhgwCT2V9sbCMOtx\nco82gPgxEwyYaNGEuSoee01kRjjH41Px2GvoqbSB8C8xsfBLjDnCPdrhX0zCPdrVh2tMrgyAFfGr\nMWAieirtjYVh1kGPNoB4EYIBCzjXU8kPaLvhlxjrYKEpzGQYhnYdbFSxf4yy3JmR692hHtUFTqhk\n8li5XC4TK0QshGAAuEj8EmM+erRhpl0HG7Vp2yEdeLdJy+f7leXOVHeoR+u3BvR2Q7MkadqUy0yu\nEheiJxgAYHv0aMNMxf4xmlSYp7cbmrV+a0CdZ0KRADypME/F/jFml4gYmAkGAKQFerRhlix3ppbP\n90eC74rHd0uSJhXmRWaGYT2EYABAWqBHG2bKcmdqWWlRJABL0rLSIgKwhdEOAQBIK1Y7vAPO0B3q\nUVVt9A4lVbX16g71mFQRBkIIBgAAuAjnL4KbVJindSuvi+oRJghbEyEYAADgItQFTkQC8PL5fmUP\nc2v5fH8kCNcFTphdImKgJxgAAOAilEweK0lR+wSHF8uF9wmG9TATDAApEAwFdez0cQVDQbNLAZBg\nLpdL06Zc1msRXJY7U9OmXMZBGRbFTDAAJFHobEjVh2tibtvlzuAtGADMwjswACRR9eEa1TXuiXzd\n2tUW+bpi4gKzygIAx6MdAgCSJBgKKtBUH/NeoKme1ggAMBEhGACSpKnzY7V2tcW819rVpuZgS4or\nAgCEEYIBIEnys0cqx+OLeS/H41OeNzfFFQEAwgjBAJAkXrdX/vyimPf8+UWcaAYAJmJhHAAk0aIJ\ncyUp5u4QAADzEIIBIIncGW5VTFygYGiWmoMtyvPmMgMMABZACAaAFPC6vRrnI/wCgFXQEwwAGDRO\nvgOQLpgJBgAMiJPvAKQbZoIBpBQzifYUPvkuvO9x+OS76sM1JlcGAEPDr+8AUoKZRPsa+OS7WSz2\nA2A7zAQDYnYyFZhJtC9OvgOQjph+gaMxO5kazCTaW/jku1hBmJPvANgVM8FwNGYnU4OZRHvj5DsA\n6YgQDMcaeHaS1ohECc8kxsJMoj0smjBXxWOvifx3zPH4VDz2Gk6+A2BbfN4LxxrM7CSHGyRGeCax\nrnFPr3vMJNoDJ98BSDeEYDgWfY6pFZ4xjNV/DftI1cl3wVBQTZ0fKz97JGEbQFIQguFYzE6mFjOJ\nGAwnLlYl8APmSM93FGCQmJ1MvVTNJMKewotVw8KLVSWpYuICs8pKCicGfsBK+L8MjsbsJGAdTttK\nz0mBH7AidocAFJ6dHJtWP2ABu3HSVnrsTgOYjxAMALAEJ22l56TAD1gVIRgAYAlOOpTDSYEfsCpC\nMCwjGArq2OnjfAwIOJhTDuVwUuAHrIqFcTAdK6QBhDlpsSq70wDmImHAdKyQBnAhJ2yl56TAD1gR\n7RAwFSukATgdu9MA5iAEw1SskAYAAGYgBMNUrJAGAABmIATDVKyQBgAAZmBhHEzHCmkAAJBqhGCY\njhXSAAAg1QjBsAwnbIkEAACsgZ5gAAAAOA4hGAAAAI7TbztEd3e37r33Xh0/flxdXV369re/rRtu\nuCFy/7nnntOvfvUrjRw5UpL04IMP6sorr0xuxQAAAMBF6jcE19TU6NJLL9Wjjz6qU6dOad68eVEh\nOBAIaO3atfL7/UkvFAAAAEiUfkPwTTfdpJkzZ0qSDMNQZmZm1P36+npVVVXp5MmTmjZtmu64447k\nVQoAAAAkSL8hePjw4ZKk9vZ23XnnnVq5cmXU/dmzZ6uiokIjRozQihUrtGPHDl1//fXJqxYAAABI\nAJdhGEZ/f+DDDz/U8uXLVVFRoYULF0auG4ah9vZ2+XznjrzdsmWLTp06peXLl/f7DUOhHrndmf3+\nGQAAACCZ+p0Jbmpq0u233677779fU6dOjbrX3t6uOXPm6NVXX1V2drb27t2rsrKyAb9hS0vnxVX8\n/yso8OnkybaEvJZTMGZDw7jFjzGLH2MWP8ZsaBi3+DFm8bPKmBUU+Pq8128I3rhxo06fPq0NGzZo\nw4YNkqSbb75ZwWBQ5eXlWrVqlZYsWSKPx6OpU6eqpKQksZUDAAAASTBgO0SiJeq3Aqv8hmEnjNnQ\nMG7xY8zix5jFjzEbGsYtfoxZ/KwyZv3NBHNYBgAAAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMADb\nC4aCOnb6uIKhoNmlAABsot8t0gDAykJnQ6o+XKNAU71au9qU4/HJn1+kRRPmyp3B2xsAoG/8lABg\nW9WHa1TXuCfydWtXW+TriokLzCoLAGADtEMAsKVgKKhAU33Me4GmelojHKCzizYYAEPHTDAAW2rq\n/FitXbE3Ym/talNzsEXjfN4UV4VUCLfB/Pnjd9RyppU2GABDwkwwAFvKzx6pHE/sk4ByPD7leXNT\nXBFSJdwG03KmVdLf2mCqD9eYXBkAOyEEA7Alr9srf35RzHv+/CJ53cwCpyPaYAAkCiEYgG0tmjBX\nxWOvicwI53h8Kh57jRZNmGtyZUPDVm8DG0wbDAAMBs1TAGzLneFWxcQFCoZmqTnYojxvri1ngENn\nQ6ra97z2fXCArd4GEG6DiRWEaYMBEA9mggHYntft1TjfWFsGYOlcj+vvjrwZCXb0uPaNNhgAiUII\nBgAT0eMav3AbTO6wHEn2b4MBYA4+ZwNsIhgKqqnzY+Vnj2S2K42w1Vv8wm0ww3PcOvTBf9u2DQaA\nuQjBgMVxNHB6o8d16LI959pgAGAoaIcALC68Jyr9oumJHlcAMAchGLAw+kWdYdGEuZpx5bVps9Ub\nANgBn6UCFka/qDO4M9xa9tUK3TRuhq23eoO9se4ATkMIBiyMflFnObfVG+EDqcW6AzgV7RCAhdEv\nCiDZWHcApyIEAxaXbkcDA7AO1h3AyficA7C4dDkaGID1sO4ATkYIBmyCflEAica6AzgZ7RAAADgU\n6w7gZMwEAwDgYOH1BbF2hwDSGSEYAAAHY90BnIoQDAAAWHcAx6EnGAAAAI5DCAYAAIDjEIIBAFGC\noaCOnT7OQQkA0ho9wQAASVLobEjVh2ti7hLgzuDHBYD0wrsaAECSVH24RnWNeyJft3a1Rb6umLjA\nrLIAIClohwAAKBgKKtBUH/NeoKme1ggAaYcQDABQU+fHMY/Olc7NCDcHW1JcEQAkFyEYAKD87JHK\n8fhi3svx+JTnzU1xRQCQXIRgAIC8bq/8+UUx7/nzizhBDEDaYWEcAECStGjCXEmKuTsEAKQbQjAA\nQJLkznCrYuICBUOz1BxsUZ43lxlgAGmLEAwAiOJ1ezXOR/gFkN7oCQYAAIDjEIIBAADgOIRgAAAA\nOA4hGAAAAI5DCAYAAIDjEIIBAADgOIRgAAAAOA4hGAAAAI5DCAaAOAVDQR07fVzBUNDsUgAAQ8SJ\ncQAwSKGzIVUfrlGgqV6tXW3K8fjkzy/Soglz5c7g7RQA7IR3bQAYpOrDNapr3BP5urWrLfJ1xcQF\nZpUFABgC2iEAYBCCoaACTfUx7wWa6mmNSBFaUQAkCjPBABImGAqqqfNjDc/5tNmlJFxT58dq7WqL\nea+1q03NwRaN83lTXJVzxGpF+eq4KSodP4tWFABDwjsHgIt2YUDJDeToiyO/kFa9svnZI5Xj8cUM\nwjken/K8uSZU5RyxWlF+d+RNBc9004oCYEhohwBw0cIBJRwQW860qq5xj6oP15hcWeJ43V7584ti\n3vPnF8nrZhY4WWhFAZAMhGAAF8VJAWXRhLkqHnuNcjw+SedmgIvHXqNFE+aaXFl6G0wrCgDEKz0+\npwRgGif1yroz3KqYuEDB0Cw1B1uU581lBjgFaEUBkAz9zgR3d3fr7rvvVkVFhRYuXKjXX3896v4b\nb7yhsrIylZeXq7q6OqmFArCmcECJJV0Ditft1TjfWAJwitCKAiAZ+p0Jrqmp0aWXXqpHH31Up06d\n0rx583TDDTdIOheQH3nkEb300kvyer1avHixpk+frvz8/JQUDsAawgHl/EVLYQQUJEq45STW7hAA\nMBT9huCbbrpJM2fOlCQZhqHMzMzIvYaGBo0fP145OTmSpKuvvlr79u3TrFm8IQFOc2FAyR32t90h\ngESI1Yoy/u9G6eTJ2K04ADCQfkPw8OHDJUnt7e268847tXLlysi99vZ2+Xy+qD/b3t4+4DfMzc2W\n25054J8bjIKC2B/Bom+M2dAwbgO7a/Rt6uwK6q8dzRo1PE/ZHmaA48VzNhg+jdeoyFd2G7POrqA+\n6mjS6OH5pv4/YrdxswLGLH5WH7MBF8Z9+OGHWr58uSoqKlRaWhq5PmLECHV0dES+7ujoiArFfWlp\n6RxiqdEKCnzMAMSJMRsaxi0+w5WjbI+XMYsTz1n87DRmsQ778OcXmbKXtp3GzSoYs/hZZcz6C+L9\nLoxramrS7bffrrvvvlsLFy6MuldYWKijR4/q1KlT6urq0v79+3XVVVclpmIAANLIhXtpt3a1pd1e\n2oDd9Pvr58aNG3X69Glt2LBBGzZskCTdfPPNCgaDKi8v15o1a7R06VIZhqGysjKNHj06JUUDAGAX\nA++lPYsFpIAJ+g3B9913n+67774+70+fPl3Tp09PeFEAAKQLJ+2lDdgJJ8YBAJBETtxLG7ADQjAA\nAEnEYR+ANXFsMgAASRbrsI/w7hAAzEEIBgAgyWId9sEMMGAuQjAAACnidXtZBAdYBD3BAAAAcBxC\nMAAAAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMAAAAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMAAA\nAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMAAAAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMAAAAByH\nEAwAAADHIQQDAADAcQjBAAAAcBxCMAAAAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMAAAAByHEAwA\nAADHIQQDAADAcQjBAAAAcBxCMAAAAByHEAwAAADHIQQDAADAcQjBAAAAcBxCMAAAAByHEAwAAADH\nIQQDAADAcQjBAGBTwVBQx04fVzAUNLsUALAdt9kFAADiEzobUvXhGgWa6tXa1aYcj0/+/CItmjBX\n7gze1gFgMHi3BACbqT5co7rGPZGvW7vaIl9XTFxgVlkAYCu0QwCAjQRDQQWa6mPeCzTV0xoBAINE\nCAYAG2nq/FitXW0x77V2tak52JLiigDAngjBAGAj+dkjlePxxbyX4/Epz5ub4ooAwJ4IwQBgI163\nV/78opj3/PlF8rq9Ka4IAOyJhXEAYDOLJsyVpJi7QwAABocQDAA2485wq2LiAgVDs9QcbFGeN5cZ\nYACIEyEYAGzK6/ZqnI/wCwBDQU8wAAAAHIcQDAAAAMchBAMAAMBxCMEAAABwHEIwAAAAHIcQDAAA\nAMcZVAg+ePCgKisre11/7rnnNHv2bFVWVqqyslJHjhxJeIEAAABAog24T/DPfvYz1dTUyOvtvRdl\nIBDQ2rVr5ff7k1IcAAAAkAwDzgSPHz9eTz31VMx79fX1qqqq0uLFi/XMM88kvDgAAAAgGQacCZ45\nc6Y++OCDmPdmz56tiooKjRgxQitWrNCOHTt0/fXX9/t6ubnZcrszh1btBQoKfAl5HSdhzIaGcYsf\nYxY/xix+jNnQMG7xY8ziZ/UxG/KxyYZh6LbbbpPPd+4vWFJSoj//+c8DhuCWls6hfssoBQU+nTzZ\nlpDXcgrGbGgYt/gxZvFjzOLHmA0N4xY/xix+Vhmz/oL4kHeHaG9v15w5c9TR0SHDMLR37156gwEA\nAGALcc8E19bWqrOzU+Xl5Vq1apWWLFkij8ejqVOnqqSkJBk1AgAAAAk1qBA8btw4VVdXS5JKS0sj\n1+fNm6d58+YlpzIAAAAgSTgsAwAAAI5DCAYAAIDjuAzDMMwuAgAAAEglZoIBAADgOIRgAAAAOA4h\nGAAAAI5DCAYAAIDjEIIBAADgOIRgAAAAOI6lQ/DZs2d1//33q7y8XJWVlTp69GjU/TfeeENlZWUq\nLy+PnGiHgcftueee0+zZs1VZWanKykodOXLEpEqt5+DBg6qsrOx1nWetb32NGc9Zb93d3br77rtV\nUVGhhQsX6vXXX4+6z3MW20DjxrPWW09Pj+655x7dcsstWrx4sQ4fPhx1n2ett4HGjOesb83NzSop\nKVFDQ0PUdcs/Z4aFvfbaa8bq1asNwzCMP/7xj8bf//3fR+51dXUZM2bMME6dOmV88sknxoIFC4yT\nJ0+aVaql9DduhmEY3/3ud40//elPZpRmaVVVVcacOXOMm2++Oeo6z1rf+hozw+A5i+Wll14yfvSj\nHxmGYRgtLS1GSUlJ5B7PWd/6GzfD4FmLZfv27caaNWsMwzCMPXv28PNzEPobM8PgOetLV1eX8Z3v\nfMe48cYbjffeey/qutWfM0vPBL/11lu69tprJUlTpkxRIBCI3GtoaND48eOVk5Mjj8ejq6++Wvv2\n7TOrVEvpb9wkqb6+XlVVVVq8eLGeeeYZM0q0pPHjx+upp57qdZ1nrW99jZnEcxbLTTfdpLvuukuS\nZBiGMjMzI/d4zvrW37hJPGuxzJgxQw899JAkqbGxUZdccknkHs9abP2NmcRz1pe1a9fqlltu0ahR\no6Ku2+E5s3QIbm9v14gRIyJfZ2ZmKhQKRe75fL7IveHDh6u9vT3lNVpRf+MmSbNnz9YDDzygX/7y\nl3rrrbe0Y8cOM8q0nJkzZ8rtdve6zrPWt77GTOI5i2X48OEaMWKE2tvbdeedd2rlypWRezxnfetv\n3CSetb643W6tXr1aDz30kEpLSyPXedb61teYSTxnsbz88ssaOXJkZOLtfHZ4ziwdgkeMGKGOjo7I\n12fPno38wL3wXkdHR9RgO1l/42YYhm677TaNHDlSHo9HJSUl+vOf/2xWqbbAsxY/nrO+ffjhh1qy\nZIm++c1vRv2Q5TnrX1/jxrPWv7Vr1+q1117TD37wA3V2dkriWRtIrDHjOYvt17/+tf7jP/5DlZWV\neuedd7R69WqdPHlSkj2eM0uH4C9/+cvavXu3JOnAgQOaMGFC5F5hYaGOHj2qU6dOqaurS/v379dV\nV11lVqmW0t+4tbe3a86cOero6JBhGNq7d6/8fr9ZpdoCz1r8eM5ia2pq0u233667775bCxcujLrH\nc9a3/saNZy22V155JfKRvdfrlcvlUkbGuR/5PGux9TdmPGexbdmyRf/yL/+izZs36wtf+ILWrl2r\ngoICSfZ4zmJ/jmkRX//611VXV6dbbrlFhmHo4YcfVm1trTo7O1VeXq41a9Zo6dKlMgxDZWVlGj16\ntNklW8JA47Zq1SotWbJEHo9HU6dOVUlJidklWxLPWvx4zvq3ceNGnT59Whs2bNCGDRskSTfffLOC\nwSDPWT8GGjeetd5uvPFG3XPPPbr11lsVCoV07733avv27byn9WOgMeM5Gxw7/ex0GYZhmF0EAAAA\nkEqWbocAAAAAkoEQDAAAAMchBAMAAMBxCMEAAABwHEIwAAAAHIcQDAAAAMchBAMAAMBxCMEAAABw\nnP8PPtinCIIxf1cAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc433908>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data = pd.DataFrame(raw_data['X'], columns=['X1', 'X2'])\n",
    "data['y'] = raw_data['y']\n",
    "\n",
    "positive = data[data['y'].isin([1])]\n",
    "negative = data[data['y'].isin([0])]\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(positive['X1'], positive['X2'], s=50, marker='x', label='Positive')\n",
    "ax.scatter(negative['X1'], negative['X2'], s=50, marker='o', label='Negative')\n",
    "ax.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "请注意，还有一个异常的正例在其他样本之外。\n",
    "这些类仍然是线性分离的，但它非常紧凑。 我们要训练线性支持向量机来学习类边界。 在这个练习中，我们没有从头开始执行SVM的任务，所以我要用scikit-learn。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "LinearSVC(C=1, class_weight=None, dual=True, fit_intercept=True,\n",
       "     intercept_scaling=1, loss='hinge', max_iter=1000, multi_class='ovr',\n",
       "     penalty='l2', random_state=None, tol=0.0001, verbose=0)"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "from sklearn import svm\n",
    "svc = svm.LinearSVC(C=1, loss='hinge', max_iter=1000)\n",
    "svc"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "首先，我们使用 C=1 看下结果如何。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.98039215686274506"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.fit(data[['X1', 'X2']], data['y'])\n",
    "svc.score(data[['X1', 'X2']], data['y'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "其次，让我们看看如果C的值越大，会发生什么"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.94117647058823528"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc2 = svm.LinearSVC(C=100, loss='hinge', max_iter=1000)\n",
    "svc2.fit(data[['X1', 'X2']], data['y'])\n",
    "svc2.score(data[['X1', 'X2']], data['y'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {
    "collapsed": true
   },
   "source": [
    "这次我们得到了训练数据的完美分类，但是通过增加C的值，我们创建了一个不再适合数据的决策边界。 我们可以通过查看每个类别预测的置信水平来看出这一点，这是该点与超平面距离的函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\no0ePliQ1adJEH374YZnX6dmzpx599FFNnDhRffr00SWXXKJWrVopMzOz9DmffvqpXn31VVmWJY/H\no4svvlgvvfSSrrzySknSwIEDJUmdO3eWz+dTYWGhvF5v6cc7HIdOFals7j799FONGDFCSUlJkqRJ\nkybpmWeekc/nkyRlZGTI4XAoJSVFrVq10oEDByp8reXLl+uMM85Qenq6JGns2LFasmSJpEP7kteu\nXauRI0eWZioqKir92HDv89VXX6l9+/bq1KmTJGnw4MEaPHiw/vOf/ygrK0vXXXddmf8v33//fdjV\nfgC1HyUYQLX68ssv9fXXX+uKK65QRkaGMjIyNGXKFA0bNkxLly7VOeeco0aNGqlPnz569913VVhY\nqCFDhig1NbXca11wwQWaN2+e0tLSdOGFF1b6vpZllSluPXr00DfffFOuOM+YMUNnn322+vTpo7ff\nfvuoP89gMCin03lEz127dm1pjlAopFtvvVX9+vWTJBUUFKikpEQul6v08/jJli1byhS0Fi1aaNGi\nRVq5cqVWrFihyy67TLfffrvq169f+pxfl9dQKKRAIFD6+KfC+9P7GGPKPL9u3bpq3bq1vvnmG/Xp\n06fM2O9//3tdc8015T7m1+/xU+H/6X1+/fxf+vX4L+c0FArpiiuu0Pjx4yVJPp+vTKEO9z4ul6vM\nHBpj9P333ysYDKpdu3aaM2dO6diePXuUlpZWYTYAtRtXhwBQrdLS0vT000/riy++KD2WlZWloqKi\nMoV0/Pjxmj9/vubOnRv2ShCSdOGFF+r999/Xu+++q6FDh1b6vm3atNH27dtLH19zzTV64okntG7d\nutJjb775phYuXFjpivKRyMvLU0lJyRGtIG7dulVPPfWULr/8cklS3759NXv2bPl8PoVCId1xxx16\n5JFHlJKSos6dO5deSWL37t0aN26c8vLySl/rn//8p6ZPn66+ffvq5ptvVt++fUuvuvGTn17fGCOf\nz6d///vf5crs4Vx//fW69957tW3bNkmHCv9TTz2lDRs2qG3bturbt6/efPPN0n3fr7zyik455RR5\nPJ4qvY8k9enTR0uXLi1dzX7rrbfKfC6vv/668vPzJUmPPfaYbrnllkpfr3v37tq8eXPpvHz00Ue6\n+eab1aNHD23btk2rVq2SdOhKIkOGDNHevXurnBlA7cBKMIBq1aZNGz355JN69NFHlZmZKa/Xq9TU\n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\nckMAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc460240>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data['SVM 1 Confidence'] = svc.decision_function(data[['X1', 'X2']])\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(data['X1'], data['X2'], s=50, c=data['SVM 1 Confidence'], cmap='seismic')\n",
    "ax.set_title('SVM (C=1) Decision Confidence')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAsEAAAHfCAYAAACxhQUCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8VNX9//H3nT2TBQiEAGpAqEgVlcUNURFQkB1lExBa\nl9ZStd+vfm0Rv2pFtJbWqigWxWr5uX/rUgXRWgStC4jghuBW2ZcQwhKSTJbZzu8PymjMJBBM5s5k\nXs/Hg8eDOSeZ+5mTZOY9Z8491zLGGAEAAABpxGF3AQAAAECiEYIBAACQdgjBAAAASDuEYAAAAKQd\nQjAAAADSDiEYAAAAaYcQDOCIfPLJJ5oyZYpGjBih4cOH68orr9S///1vSdKUKVP08MMP1/qexx57\nTL/4xS+0bds2HX/88Zo8eXKtr5kxY4aOP/547d27N+5xv/jiC82YMSN2+6OPPtIVV1yhUaNGafjw\n4fr5z3+ur7/++rAfhzFGN954ox599NFYWyQS0R133KELL7xQF1xwgZ555plY36ZNmzRp0iQNHTpU\nY8eO1fr16yVJO3fu1NVXX61oNBr3OAMGDNDgwYM1atQojRw5UsOGDdOf/vQnhcPhw671++bMmaOX\nXnqp3q8ZNWqUSktLj/gY37d+/Xpde+21GjFihEaOHKlLL71Uq1ev/kH3+e6776p///4aM2aMnn76\nac2fPz/u1/Xs2VPbtm37QccCgBgDAA1UXV1tTj/9dLN27dpY20svvWT69etnwuGwee2118ygQYNq\nfd/gwYPNO++8Y7Zu3WpOOukkc9ZZZ5lt27bF+gOBgLngggtM165dzZ49e2p9fyQSMRdddJHZuXOn\nMcaYDz74wPTr18989tlnsa95+eWXzemnnx73+7/vm2++MVOmTDEnn3yy+ctf/hJrf/LJJ82VV15p\nQqGQKSkpMYMHDzaffvqpMcaYMWPGmIULFxpjjHnrrbfM0KFDTTQaNcYY88ADD5gnnngi7rH69+9v\n1qxZU+OxTps2zdx+++2HrDNZrF+/3vTt29e8/fbbsbbly5eb3r17m6+//vqI7/fGG280Dz744CG/\nrkePHmbr1q1HfBwA+C6X3SEcQOqprKxUWVmZKioqYm0jR45UVlaWIpGIzj//fN15551avXq1Tj31\nVEnSBx98IGOM+vbtq+3bt8vpdGrIkCFatGiRfvGLX0iS/vnPf2rgwIF67LHH4h73tdde09FHH638\n/HxJ0v33369f/vKX6t69e406vF6vIpGIli9frtmzZ9e6nxtuuEHnnHOOnnrqKV188cXq0KFDjf43\n3nhD48ePl8vlUosWLTRs2DAtXLhQ+fn52rBhg4YNGyZJ6tevn2bOnKnPP/9cJ554osaNG6exY8dq\n/Pjx8ng89Y6h3+/XrbfeqvPPP1/XXXedsrKy9Nxzz+mZZ55RNBpVy5Ytdcstt6hLly4KBAK64447\n9NFHH8npdMa+Z8aMGTruuON0xRVX6P7779eSJUvkdrvVqlUr3XXXXWrbtq2OP/54rVixQrm5uXrw\nwQe1ePFiOZ1OHXvssbrllluUl5enKVOmqEePHvroo49UWFio3r17a/bs2XI4an5Y+Mgjj2jMmDE6\n55xzYm19+vTRn/70J/l8vtjYzZ07V5FIRFlZWZoxY4ZOPvlkPfDAA9q+fbuKi4u1fft25ebm6t57\n79WiRYu0dOlSeb1elZWVye/3a9++fbr11lu1evVqzZo1S5Zl6aSTTqoxy75s2TLNmzdPoVBIPp9P\n06dPV8+ePes8Tn5+vjZu3Khbb71Ve/fulcPh0LRp0zR06FAVFRXp9ttvV2FhoUKhkIYNGxb7nQTQ\njNmdwgGkpscee8ycfPLJZsCAAeaGG24wzz33nKmoqIj1P/DAA2b69Omx29dff71ZsGCBMcaYrVu3\nmh49epjPPvvMDBkyJPY1P/nJT8xXX31V50zwtddea1544YXY7R49eph///vfP/ixTJ8+vcZM8ODB\ng83HH38cu/23v/3NXH311ebjjz82gwcPrvG9l1xyiXnjjTdity+++GKzYsWKWsf4/kzwQWeccYb5\n9NNPzcqVK82kSZNiY/jOO+/ExuZ3v/udue6660w4HDbV1dVm8uTJ5v3334/VvWPHDtOrVy9TXV1t\njDHm0UcfNUuWLDHGmNhYPv/882bChAkmEAgYY4y5//77zeWXX26MMebSSy81v/rVr0wkEjFlZWXm\n7LPPjvsYhg8fbt566606x/Gbb74xZ511ltmyZYsx5sAscd++fU1ZWZm5//77zcCBA01ZWZkxxpir\nrrrKzJkzp9b433///WbmzJmmurranHXWWWb58uXGGGMWLVpkunbtarZu3Wo2btxohg8fbvbu3WuM\nMebrr782ffv2NYFAoN7jjB492jz55JPGGGN27NgR+7opU6aYpUuXGmOMqaqqMlOmTDGLFy+u83EC\naB6YCQZwRC677DKNGzdOq1at0qpVq/TII4/okUce0fPPP6/s7GyNHz9ew4YNU3l5ucLhsN59913d\ndtttNe6je/fucjgcWrt2rVq3bq1AIKCuXbvWecwNGzZo6tSpsdsOh6PONbiSDjkTXBcT52ry9R3L\n6XTG/l9QUKCNGzfqzDPPrPP+v8uyLGVkZOgf//iHNm/erEsuuSTWt3//fpWUlGj58uWaMWOGnE6n\nnE6nnnzySUnS3//+d0lSfn6+unXrposuukjnnnuuzj33XPXp06fGcd5++21dfPHF8vv9kqSpU6fq\noYceUjAYlCT1799fDodDWVlZ6tixo/bv3x+31vrG+/3339eZZ56pY445RtKBWeLc3FytXbtWknT6\n6acrKytLknTCCSfEPcZBX3/9tVwuV+xxDB8+XLfeeqsk6b333tOuXbv005/+tEZtW7ZsqfM4JSUl\n+vLLLzVu3DhJUvv27fXGG2+ooqJCq1at0v79+zVnzhxJUkVFhb788ksNHTq0zvoApD5CMIAG+/DD\nD/Xxxx/ryiuvVP/+/dW/f39df/31GjFihN577z1deOGFatu2rc466yy9+uqrqqio0ODBg5WdnV3r\nvkaOHKmFCxcqNzdXo0aNqve43w9hPXr00KefflorOM+cOVMXXHCBzjrrLL388ssNfnzt27dXcXFx\n7HZRUZHatWunDh06aPfu3TLGyLKsGn0HRSKRGqG4Ptu3b1dFRYUKCgoUjUY1atQo/frXv5YkRaNR\n7dq1Sy1atJDL5YodT5IKCwtjyw+kAwH9ySef1GeffaYVK1bod7/7nc444wzdfPPNsa/5frCPRqM1\nTsr77v1ZlhX3jUCPHj30ySefqH///jXa586dq4KCgrjfY4yJHedwjlFfv8vlitXep08f3XfffbG+\nwsJCtW3bVkuWLIl7nIPf+91x3LBhg/Ly8mSM0bPPPquMjAxJ0t69e+X1euusDUDzwO4QABosNzdX\n8+bNq7ErQHFxsSorK2sE0kmTJmnRokV66aWX4u4EIR3YveAf//iHXn31VQ0fPrze4x577LHaunVr\n7Pa0adM0d+7c2EyjJL344ot6/fXX651RPpSBAwfqhRdeUDgcVmlpqRYvXqzzzz9f7dq1U0FBgV59\n9VVJ0jvvvCOHw1HjWNu2bVPnzp0PeYzS0lLNmjVLkydPltfrVd++fbV48WLt2rVLkvTMM8/oJz/5\n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\n9dVXGj9+fKDGroUWaWYSexZOTU2NiouLlZmZGXQeD3sW0yHY5/PJ5XIFPnY4HOrp6QnUUlJSArXk\n5GT5fL4R7zEWRZqbJOXn52vjxo3auXOnzp07p5MnT1rRZsyZP3++nE5nv3N2LbxwM5PYs1CSk5Pl\ncrnk8/m0Zs0alZeXB2rsWXiR5iaxa+E4nU5VVlZq06ZNWrRoUeCcXQsv3Mwk9iyUAwcOKD09PXDh\n7T/Fw57FdAh2uVzy+/2Bj/v6+gIvuN+s+f3+oGHbWaS5GWO0dOlSpaenKzExUW63WxcvXrSq1bjA\nrkWPPQvv+vXrKisr04svvhj0IsueRRZubuxaZDU1NTp69Khef/11dXR0SGLXBhJqZuxZaPv379en\nn34qr9erS5cuqbKyUi0tLZLiY89iOgQ//fTT+vjjjyVJn3/+uZ566qlAbfLkyWpublZbW5u6urp0\n9uxZzZgxw6pWY0qkufl8Pi1cuFB+v1/GGJ0+fVo5OTlWtRoX2LXosWeh3bx5U8uXL1dFRYWKioqC\nauxZeJHmxq6FdvDgwcCP7JOSkpSQkKAxY+6/5LNroUWaGXsW2p49e7R7927t2rVL06ZNU01NjTIy\nMiTFx56F/jlmjJg3b54++eQTFRcXyxijN954Q4cPH1ZHR4c8Ho+qqqq0YsUKGWNUWFiorKwsq1uO\nCQPNbd26dSorK1NiYqJyc3PldrutbjkmsWvRY88i27p1q9rb21VbW6va2lpJ0pIlS9TZ2cmeRTDQ\n3Ni1/vLy8lRdXa2XXnpJPT09eu2113Ts2DG+p0Uw0MzYswcTT6+dCcYYY3UTAAAAwEiK6dshAAAA\ngOFACAYAAIDtEIIBAABgO4RgAAAA2A4hGAAAALZDCAYAAIDtEIIBAABgO4RgAAAA2M7/Abip0WM3\nsWgUAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xb19f4e0>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data['SVM 2 Confidence'] = svc2.decision_function(data[['X1', 'X2']])\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(data['X1'], data['X2'], s=50, c=data['SVM 2 Confidence'], cmap='seismic')\n",
    "ax.set_title('SVM (C=100) Decision Confidence')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看看靠近边界的点的颜色，区别是有点微妙。 如果您在练习文本中，则会出现绘图，其中决策边界在图上显示为一条线，有助于使差异更清晰。\n",
    "\n",
    "现在我们将从线性SVM转移到能够使用内核进行非线性分类的SVM。 我们首先负责实现一个高斯核函数。 虽然scikit-learn具有内置的高斯内核，但为了实现更清楚，我们将从头开始实现。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": [
    "def gaussian_kernel(x1, x2, sigma):\n",
    "    return np.exp(-(np.sum((x1 - x2) ** 2) / (2 * (sigma ** 2))))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "0.32465246735834974"
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "x1 = np.array([1.0, 2.0, 1.0])\n",
    "x2 = np.array([0.0, 4.0, -1.0])\n",
    "sigma = 2\n",
    "\n",
    "gaussian_kernel(x1, x2, sigma)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "该结果与练习中的预期值相符。 接下来，我们将检查另一个数据集，这次用非线性决策边界。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xc36b710>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "raw_data = loadmat('data/ex6data2.mat')\n",
    "\n",
    "data = pd.DataFrame(raw_data['X'], columns=['X1', 'X2'])\n",
    "data['y'] = raw_data['y']\n",
    "\n",
    "positive = data[data['y'].isin([1])]\n",
    "negative = data[data['y'].isin([0])]\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(positive['X1'], positive['X2'], s=30, marker='x', label='Positive')\n",
    "ax.scatter(negative['X1'], negative['X2'], s=30, marker='o', label='Negative')\n",
    "ax.legend()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对于该数据集，我们将使用内置的RBF内核构建支持向量机分类器，并检查其对训练数据的准确性。 为了可视化决策边界，这一次我们将根据实例具有负类标签的预测概率来对点做阴影。 从结果可以看出，它们大部分是正确的。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "SVC(C=100, cache_size=200, class_weight=None, coef0=0.0,\n",
       "  decision_function_shape='ovr', degree=3, gamma=10, kernel='rbf',\n",
       "  max_iter=-1, probability=True, random_state=None, shrinking=True,\n",
       "  tol=0.001, verbose=False)"
      ]
     },
     "execution_count": 43,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc = svm.SVC(C=100, gamma=10, probability=True)\n",
    "svc"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "1.0"
      ]
     },
     "execution_count": 44,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "svc.fit(data[['X1', 'X2']], data['y'])\n",
    "svc.score(data[['X1', 'X2']], data['y'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<matplotlib.figure.Figure at 0xacc6eb8>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "data['Probability'] = svc.predict_proba(data[['X1', 'X2']])[:,0]\n",
    "\n",
    "fig, ax = plt.subplots(figsize=(12,8))\n",
    "ax.scatter(data['X1'], data['X2'], s=30, c=data['Probability'], cmap='Reds')\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "对于第三个数据集，我们给出了训练和验证集，并且基于验证集性能为SVM模型找到最优超参数。 虽然我们可以使用scikit-learn的内置网格搜索来做到这一点，但是本着遵循练习的目的，我们将从头开始实现一个简单的网格搜索。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "(0.96499999999999997, {'C': 0.3, 'gamma': 100})"
      ]
     },
     "execution_count": 46,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "raw_data = loadmat('data/ex6data3.mat')\n",
    "\n",
    "X = raw_data['X']\n",
    "Xval = raw_data['Xval']\n",
    "y = raw_data['y'].ravel()\n",
    "yval = raw_data['yval'].ravel()\n",
    "\n",
    "C_values = [0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30, 100]\n",
    "gamma_values = [0.01, 0.03, 0.1, 0.3, 1, 3, 10, 30, 100]\n",
    "\n",
    "best_score = 0\n",
    "best_params = {'C': None, 'gamma': None}\n",
    "\n",
    "for C in C_values:\n",
    "    for gamma in gamma_values:\n",
    "        svc = svm.SVC(C=C, gamma=gamma)\n",
    "        svc.fit(X, y)\n",
    "        score = svc.score(Xval, yval)\n",
    "        \n",
    "        if score > best_score:\n",
    "            best_score = score\n",
    "            best_params['C'] = C\n",
    "            best_params['gamma'] = gamma\n",
    "\n",
    "best_score, best_params"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "现在，我们将进行第二部分的练习。 在这一部分中，我们的目标是使用SVM来构建垃圾邮件过滤器。 在练习文本中，有一个任务涉及一些文本预处理，以获得适合SVM处理的格式的数据。 然而，这个任务很简单（将字词映射到为练习提供的字典中的ID），而其余的预处理步骤（如HTML删除，词干，标准化等）已经完成。 我将跳过机器学习任务，而不是重现这些预处理步骤，其中包括从预处理过的训练集构建分类器，以及将垃圾邮件和非垃圾邮件转换为单词出现次数的向量的测试数据集。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "{'X': array([[0, 0, 0, ..., 0, 0, 0],\n",
       "        [0, 0, 0, ..., 0, 0, 0],\n",
       "        [0, 0, 0, ..., 0, 0, 0],\n",
       "        ..., \n",
       "        [0, 0, 0, ..., 0, 0, 0],\n",
       "        [0, 0, 1, ..., 0, 0, 0],\n",
       "        [0, 0, 0, ..., 0, 0, 0]], dtype=uint8),\n",
       " '__globals__': [],\n",
       " '__header__': b'MATLAB 5.0 MAT-file, Platform: GLNXA64, Created on: Sun Nov 13 14:27:25 2011',\n",
       " '__version__': '1.0',\n",
       " 'y': array([[1],\n",
       "        [1],\n",
       "        [0],\n",
       "        ..., \n",
       "        [1],\n",
       "        [0],\n",
       "        [0]], dtype=uint8)}"
      ]
     },
     "execution_count": 47,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "spam_train = loadmat('data/spamTrain.mat')\n",
    "spam_test = loadmat('data/spamTest.mat')\n",
    "\n",
    "spam_train"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "((4000, 1899), (4000,), (1000, 1899), (1000,))"
      ]
     },
     "execution_count": 48,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "X = spam_train['X']\n",
    "Xtest = spam_test['Xtest']\n",
    "y = spam_train['y'].ravel()\n",
    "ytest = spam_test['ytest'].ravel()\n",
    "\n",
    "X.shape, y.shape, Xtest.shape, ytest.shape"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "每个文档已经转换为一个向量，其中1,899个维对应于词汇表中的1,899个单词。 它们的值为二进制，表示文档中是否存在单词。 在这一点上，训练评估是用一个分类器拟合测试数据的问题。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training accuracy = 94.4%\n"
     ]
    }
   ],
   "source": [
    "svc = svm.SVC()\n",
    "svc.fit(X, y)\n",
    "print('Training accuracy = {0}%'.format(np.round(svc.score(X, y) * 100, 2)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Test accuracy = 95.3%\n"
     ]
    }
   ],
   "source": [
    "print('Test accuracy = {0}%'.format(np.round(svc.score(Xtest, ytest) * 100, 2)))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这个结果是使用使用默认参数的。 我们可能会使用一些参数调整来获得更高的精度，尽管95％的精度相当不错。\n",
    "\n",
    "结束练习6！ 在下一个练习中，我们将使用K-Means和主成分分析进行聚类和图像压缩。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {
    "collapsed": true
   },
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.1"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 1
}
